package com.zx._09_架构.rpc演变过程.rpc_08;

//  优化1：Stub 是 consumer 端的代理对象，负责网络的连接、请求数据发送、响应接受、数据封装等
//  优化2：进阶为动态代理
//  优化3：将请求的参数，改为需要调用的方法和方法参数，这样可以通过代理对象调用多个方法
//  优化4：优化返回值类型，直接使用object对象进行网络传输
//  优化5：可以调用任意接口的方法
//  优化6：优化序列化的实现，比如jdk，hession，protobuf，thrift，kyro，json(jackSon，gson，fastJson)，xmlRpc等等
//  优化7：优化数据传输的协议，网络协议：TCP/IP， HTTP， WebSerivce， redis
//  优化8：网络io模型，netty，Mima
//  优化9：注册中心，去找到需要连接的服务，可以是多个
//  优化10：负载均衡与集群容错
//  优化11：服务监控等
public class Stub {
/*
	从单机走向分布式。产生了很多分布式的通信方工，最古老也是最有效，并且永不过时的，TCP/UDP的二进制传输。
	事实上所有的通信方式归根到底都是TCP/UDP
	
	1. CORBA: Common Obiject Request Broker Architecture。古老而复杂的，支持面向对象的通信
	2. Web Service (SOA SOAP RDDI WSDL): 基于http+xml的标准化Web AP
	3. Restful (Representational State Transfer): 同归简单化本源的Web AP的事实标准
	4. RMI (Remote Method Invoca): Java内部的分布式通信协说
	5. JMS lava Message Service: JavaEE中的消息框架标准，为很多MQ所支持
	6. RPC (Remote Procedure Call): 远程方法调用，这只一个统称，重点在于方法调用(不支持对象的概念)，
					具体实现甚至可以等去实现，但一般不用，因为RM/不能跨语言。而RestFul效率太低。

	
	多用于服务器案群间的通信，因此常使用更加高效短小精样的传输模式以

*/
}
